// const arr = ["apple", "orange", "grape"];
// const arr_length = arr.push("banana");
// console.log("arr:", arr, "arr_length:", arr_length);

// const arr = ["apple", "orange", "grape"];
// const del_data = arr.pop();

// console.log("arr:", arr, "del_data:", del_data);

// const arr = ["apple", "orange", "grape"];
// const arr_length = arr.unshift("banana");

// console.log("arr:", arr, "arr_length:", arr_length);

// const arr = ["apple", "orange", "grape"];
// const del_data = arr.shift();

// console.log("arr:", arr, "del_data:", del_data);

// const arr1 = ["apple", "orange", "grape"];
// const arr2 = ["banana", "watermelon"];
// const arr3 = ["mango"];
// const newArr = arr1.concat(arr2, arr3);

// console.log("newArr:", newArr);

// const arr = ["apple", "orange", "grape"];
// const str1 = arr.join();
// const str2 = arr.join("--");

// console.log("str1:", str1);
// console.log("str2:", str2);

// const arr = ["one", "two", "three"];
// arr.reverse();

// console.log("arr:", arr);

// const arr = [85, 22, 33, 66, 1, 9, 222];
// const sortMinToMax = function (a, b) {
//   return a - b;
// };

// console.log("arr:", arr.sort(sortMinToMax));

// const arr1 = [85, 22, 33, 66, 1, 9, 222];

// console.log(
//   "arr1:",
//   arr1.sort((a, b) => b - a)
// );

// const arrObj = [
//   {
//     name: "第一名",
//     age: 23,
//   },
//   {
//     name: "第二名",
//     age: 18,
//   },
//   {
//     name: "第三名",
//     age: 28,
//   },
//   {
//     name: "第四名",
//     age: 15,
//   },
// ];

// const sortMinToMax = (key) => {
//   return (a, b) => {
//     return a[key] - b[key];
//   };
// };

// console.log("arrObj:", arrObj.sort(sortMinToMax("age")));

// const arr = [2, 4, 6, 8];
// const newArr = arr.map((item) => item * 2);

// console.log("newArr:", newArr);

// const arr1 = ["吕大", "赵二", "关三", "典小四"];
// const arr2 = ["公爵", "侯爵", "伯爵", "子爵"];

// const newArr = arr1.map((item, index) => {
//   return {
//     level: arr2[index],
//     name: item,
//   };
// });

// console.log("newArr:", newArr);

// const arr = [
//   { level: "公爵", name: "吕大" },
//   { level: "侯爵", name: "赵二" },
//   { level: "伯爵", name: "关三" },
//   { level: "子爵", name: "典小四" },
// ];

// const newArr = arr.map((item) => `${item["level"]}${item["name"]}`);

// console.log("newArr:", newArr);

// const arr = [2, 4, 6, 8];
// const newArr = arr.map(function (item) {
//   return item * this;
// }, 10);

// console.log("newArr:", newArr);

// const arr = [2, 4, 6, 8];
// const newArr = arr.slice(1, 3);

// console.log("newArr:", newArr);

// const arr = ["吕大", "赵二", "关三", "典小四"];

// arr.splice(2, 1, "杰尼龟", "皮卡丘");

// console.log("arr:", arr);

// const arr = ["吕大", "赵二", "关三", "典小四"];

// arr.forEach((item, index) => console.log(`第${index + 1}个人是${item}`));

// const arr = [2, 4, 6, 8];

// const newArr = arr.filter((item) => item > 4);

// console.log("newArr:", newArr);

// const arr1 = [
//   { level: "公爵", name: "吕大", isShow: false },
//   { level: "侯爵", name: "赵二", isShow: false },
//   { level: "伯爵", name: "关三", isShow: true },
//   { level: "子爵", name: "典小四", isShow: true },
// ];

// console.log(
//   "arr1:",
//   arr1.every((item) => item.isShow)
// );

// const arr2 = [
//   { level: "公爵", name: "吕大", isShow: true },
//   { level: "侯爵", name: "赵二", isShow: true },
// ];

// console.log(
//   "arr2:",
//   arr2.every((item) => item.isShow)
// );

// const arr1 = [
//   { level: "公爵", name: "吕大", isShow: false },
//   { level: "侯爵", name: "赵二", isShow: false },
//   { level: "伯爵", name: "关三", isShow: true },
//   { level: "子爵", name: "典小四", isShow: true },
// ];

// console.log(
//   "arr1:",
//   arr1.some((item) => item.isShow)
// );

// const arr2 = [
//   { level: "公爵", name: "吕大", isShow: false },
//   { level: "侯爵", name: "赵二", isShow: false },
// ];

// console.log(
//   "arr2:",
//   arr2.some((item) => item.isShow)
// );

// const arr1 = ["apple", "orange", "grape"];
// console.log("arr1:", arr1.indexOf("orange"));

// const arr2 = ["apple", "orange", "grape", "orange", "banana"];
// console.log("arr2:", arr2.indexOf("orange", 2));

// const arr = ["apple", "orange", "grape"];
// console.log("result1:", arr.includes("orange"));

// console.log("result2:", arr.includes("orange", 2));

// const arr = [2, 4, 6, 8];

// console.log(
//   "result:",
//   arr.find((item) => item > 94)
// );

// const arr = [2, 4, 6, 8];

// console.log(
//   "result:",
//   arr.findIndex((item) => item > 4)
// );

// console.log(Array.isArray([2, 4, 6, 8]));
// console.log(Array.isArray({ name: "xiaoming" }));

// const fruits = ["Banana", "Orange", "Apple", "Mango"];
// const energy = fruits.join(" and ");

// console.log("energy:", energy);

// console.log(Array.of(1, "a", [3, 6], { name: "xiaoming" }));

// const arr1 = ["吕大", "赵二", "关三", "典小四"];

// console.log(arr1.at(1));

const arr1 = [1, 2, [3, 4]];

console.log(arr1.flat());
// [1, 2, 3, 4]

const arr2 = [1, 2, [3, 4, [5, 6]]];

console.log(arr2.flat());
// [1, 2, 3, 4, [5, 6]]

const arr3 = [1, 2, [3, 4, [5, 6]]];

console.log(arr3.flat(2));
// [1, 2, 3, 4, 5, 6]

//使用 Infinity，可展开任意深度的嵌套数组
const arr4 = [1, 2, [3, 4, [5, 6, [7, 8, [9, 10]]]]];

console.log(arr4.flat(Infinity));
// [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
